<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Testing: GDK 3 Reference Manual</title>
<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
<link rel="home" href="index.html" title="GDK 3 Reference Manual">
<link rel="up" href="reference.html" title="API Reference">
<link rel="prev" href="gdk3-Application-launching.html" title="Application launching">
<link rel="next" href="rn02.html" title="Deprecated">
<meta name="generator" content="GTK-Doc V1.33.1 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
<td width="100%" align="left" class="shortcuts">
<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
                  <a href="#gdk3-Testing.description" class="shortcut">Description</a></span>
</td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
<td><a accesskey="u" href="reference.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
<td><a accesskey="p" href="gdk3-Application-launching.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
<td><a accesskey="n" href="rn02.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
</tr></table>
<div class="refentry">
<a name="gdk3-Testing"></a><div class="titlepage"></div>
<div class="refnamediv"><table width="100%"><tr>
<td valign="top">
<h2><span class="refentrytitle"><a name="gdk3-Testing.top_of_page"></a>Testing</span></h2>
<p>Testing — Test utilities</p>
</td>
<td class="gallery_image" valign="top" align="right"></td>
</tr></table></div>
<div class="refsect1">
<a name="gdk3-Testing.functions"></a><h2>Functions</h2>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="functions_proto_type">
<col class="functions_proto_name">
</colgroup>
<tbody>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="gdk3-Testing.html#gdk-test-render-sync" title="gdk_test_render_sync ()">gdk_test_render_sync</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">gboolean</span>
</td>
<td class="function_name">
<a class="link" href="gdk3-Testing.html#gdk-test-simulate-button" title="gdk_test_simulate_button ()">gdk_test_simulate_button</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">gboolean</span>
</td>
<td class="function_name">
<a class="link" href="gdk3-Testing.html#gdk-test-simulate-key" title="gdk_test_simulate_key ()">gdk_test_simulate_key</a> <span class="c_punctuation">()</span>
</td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect1">
<a name="gdk3-Testing.includes"></a><h2>Includes</h2>
<pre class="synopsis">#include &lt;gdk/gdkwayland.h&gt;
</pre>
</div>
<div class="refsect1">
<a name="gdk3-Testing.description"></a><h2>Description</h2>
<p>The functions in this section are intended to be used in test programs.
They allow to simulate some user input.</p>
</div>
<div class="refsect1">
<a name="gdk3-Testing.functions_details"></a><h2>Functions</h2>
<div class="refsect2">
<a name="gdk-test-render-sync"></a><h3>gdk_test_render_sync ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
gdk_test_render_sync (<em class="parameter"><code><a class="link" href="gdk3-Windows.html#GdkWindow"><span class="type">GdkWindow</span></a> *window</code></em>);</pre>
<p>Retrieves a pixel from <em class="parameter"><code>window</code></em>
 to force the windowing
system to carry out any pending rendering commands.</p>
<p>This function is intended to be used to synchronize with rendering
pipelines, to benchmark windowing system rendering operations.</p>
<div class="refsect3">
<a name="gdk-test-render-sync.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>window</p></td>
<td class="parameter_description"><p>a mapped <a class="link" href="gdk3-Windows.html#GdkWindow"><span class="type">GdkWindow</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<p class="since">Since: 2.14</p>
</div>
<hr>
<div class="refsect2">
<a name="gdk-test-simulate-button"></a><h3>gdk_test_simulate_button ()</h3>
<pre class="programlisting"><span class="returnvalue">gboolean</span>
gdk_test_simulate_button (<em class="parameter"><code><a class="link" href="gdk3-Windows.html#GdkWindow"><span class="type">GdkWindow</span></a> *window</code></em>,
                          <em class="parameter"><code><span class="type">gint</span> x</code></em>,
                          <em class="parameter"><code><span class="type">gint</span> y</code></em>,
                          <em class="parameter"><code><span class="type">guint</span> button</code></em>,
                          <em class="parameter"><code><a class="link" href="gdk3-Windows.html#GdkModifierType" title="enum GdkModifierType"><span class="type">GdkModifierType</span></a> modifiers</code></em>,
                          <em class="parameter"><code><a class="link" href="gdk3-Events.html#GdkEventType" title="enum GdkEventType"><span class="type">GdkEventType</span></a> button_pressrelease</code></em>);</pre>
<p>This function is intended to be used in GTK+ test programs.
It will warp the mouse pointer to the given (<em class="parameter"><code>x</code></em>
,<em class="parameter"><code>y</code></em>
) coordinates
within <em class="parameter"><code>window</code></em>
 and simulate a button press or release event.
Because the mouse pointer needs to be warped to the target
location, use of this function outside of test programs that
run in their own virtual windowing system (e.g. Xvfb) is not
recommended.</p>
<p>Also, <a class="link" href="gdk3-Testing.html#gdk-test-simulate-button" title="gdk_test_simulate_button ()"><code class="function">gdk_test_simulate_button()</code></a> is a fairly low level function,
for most testing purposes, <code class="function">gtk_test_widget_click()</code> is the right
function to call which will generate a button press event followed
by its accompanying button release event.</p>
<div class="refsect3">
<a name="gdk-test-simulate-button.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>window</p></td>
<td class="parameter_description"><p>a <a class="link" href="gdk3-Windows.html#GdkWindow"><span class="type">GdkWindow</span></a> to simulate a button event for</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>x</p></td>
<td class="parameter_description"><p>x coordinate within <em class="parameter"><code>window</code></em>
for the button event</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>y</p></td>
<td class="parameter_description"><p>y coordinate within <em class="parameter"><code>window</code></em>
for the button event</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>button</p></td>
<td class="parameter_description"><p>Number of the pointer button for the event, usually 1, 2 or 3</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>modifiers</p></td>
<td class="parameter_description"><p>Keyboard modifiers the event is setup with</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>button_pressrelease</p></td>
<td class="parameter_description"><p>either <a class="link" href="gdk3-Events.html#GDK-BUTTON-PRESS:CAPS"><code class="literal">GDK_BUTTON_PRESS</code></a> or <a class="link" href="gdk3-Events.html#GDK-BUTTON-RELEASE:CAPS"><code class="literal">GDK_BUTTON_RELEASE</code></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="gdk-test-simulate-button.returns"></a><h4>Returns</h4>
<p> whether all actions necessary for a button event simulation
were carried out successfully</p>
</div>
<p class="since">Since: 2.14</p>
</div>
<hr>
<div class="refsect2">
<a name="gdk-test-simulate-key"></a><h3>gdk_test_simulate_key ()</h3>
<pre class="programlisting"><span class="returnvalue">gboolean</span>
gdk_test_simulate_key (<em class="parameter"><code><a class="link" href="gdk3-Windows.html#GdkWindow"><span class="type">GdkWindow</span></a> *window</code></em>,
                       <em class="parameter"><code><span class="type">gint</span> x</code></em>,
                       <em class="parameter"><code><span class="type">gint</span> y</code></em>,
                       <em class="parameter"><code><span class="type">guint</span> keyval</code></em>,
                       <em class="parameter"><code><a class="link" href="gdk3-Windows.html#GdkModifierType" title="enum GdkModifierType"><span class="type">GdkModifierType</span></a> modifiers</code></em>,
                       <em class="parameter"><code><a class="link" href="gdk3-Events.html#GdkEventType" title="enum GdkEventType"><span class="type">GdkEventType</span></a> key_pressrelease</code></em>);</pre>
<p>This function is intended to be used in GTK+ test programs.
If (<em class="parameter"><code>x</code></em>
,<em class="parameter"><code>y</code></em>
) are &gt; (-1,-1), it will warp the mouse pointer to
the given (<em class="parameter"><code>x</code></em>
,<em class="parameter"><code>y</code></em>
) coordinates within <em class="parameter"><code>window</code></em>
 and simulate a
key press or release event.</p>
<p>When the mouse pointer is warped to the target location, use
of this function outside of test programs that run in their
own virtual windowing system (e.g. Xvfb) is not recommended.
If (<em class="parameter"><code>x</code></em>
,<em class="parameter"><code>y</code></em>
) are passed as (-1,-1), the mouse pointer will not
be warped and <em class="parameter"><code>window</code></em>
 origin will be used as mouse pointer
location for the event.</p>
<p>Also, <a class="link" href="gdk3-Testing.html#gdk-test-simulate-key" title="gdk_test_simulate_key ()"><code class="function">gdk_test_simulate_key()</code></a> is a fairly low level function,
for most testing purposes, <code class="function">gtk_test_widget_send_key()</code> is the
right function to call which will generate a key press event
followed by its accompanying key release event.</p>
<div class="refsect3">
<a name="gdk-test-simulate-key.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>window</p></td>
<td class="parameter_description"><p>a <a class="link" href="gdk3-Windows.html#GdkWindow"><span class="type">GdkWindow</span></a> to simulate a key event for</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>x</p></td>
<td class="parameter_description"><p>x coordinate within <em class="parameter"><code>window</code></em>
for the key event</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>y</p></td>
<td class="parameter_description"><p>y coordinate within <em class="parameter"><code>window</code></em>
for the key event</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>keyval</p></td>
<td class="parameter_description"><p>A GDK keyboard value</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>modifiers</p></td>
<td class="parameter_description"><p>Keyboard modifiers the event is setup with</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>key_pressrelease</p></td>
<td class="parameter_description"><p>either <a class="link" href="gdk3-Events.html#GDK-KEY-PRESS:CAPS"><code class="literal">GDK_KEY_PRESS</code></a> or <a class="link" href="gdk3-Events.html#GDK-KEY-RELEASE:CAPS"><code class="literal">GDK_KEY_RELEASE</code></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="gdk-test-simulate-key.returns"></a><h4>Returns</h4>
<p> whether all actions necessary for a key event simulation
were carried out successfully</p>
</div>
<p class="since">Since: 2.14</p>
</div>
</div>
</div>
<div class="footer">
<hr>Generated by GTK-Doc V1.33.1</div>
</body>
</html>